package com.zy.explore.sys.interfaces.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;
import java.util.Date;

/**
 * description 表(sys_menu)的返回视图VO对象
 *
 * @author 🇨🇳中国印🇨🇳
 * @date 2022年01月30日 16:31:07
 */
@ApiModel("MenuVO")
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class MenuVO {

    /**
     * 主键
     */
    @ApiModelProperty("主键")
    private String id;

    /**
     * 父id
     */
    @ApiModelProperty("父id")
    private Long pid;

    /**
     * 父ids
     */
    @ApiModelProperty("父ids")
    private String pids;

    /**
     * 名称
     */
    @ApiModelProperty("名称")
    private String name;

    /**
     * 编码
     */
    @ApiModelProperty("编码")
    private String code;

    /**
     * 菜单类型（字典 0目录 1菜单 2按钮）
     */
    @ApiModelProperty("菜单类型（字典 0目录 1菜单 2按钮）")
    private Integer type;

    /**
     * 图标
     */
    @ApiModelProperty("图标")
    private String icon;

    /**
     * 路由地址
     */
    @ApiModelProperty("路由地址")
    private String router;

    /**
     * 组件地址
     */
    @ApiModelProperty("组件地址")
    private String component;

    /**
     * 权限标识
     */
    @ApiModelProperty("权限标识")
    private String permission;

    /**
     * 应用分类（应用编码）
     */
    @ApiModelProperty("应用分类（应用编码）")
    private String application;

    /**
     * 打开方式（字典 0无 1组件 2内链 3外链）
     */
    @ApiModelProperty("打开方式（字典 0无 1组件 2内链 3外链）")
    private Integer openType;

    /**
     * 是否可见（Y-是，N-否）
     */
    @ApiModelProperty("是否可见（Y-是，N-否）")
    private String visible;

    /**
     * 链接地址
     */
    @ApiModelProperty("链接地址")
    private String link;

    /**
     * 重定向地址
     */
    @ApiModelProperty("重定向地址")
    private String redirect;

    /**
     * 权重（字典 1系统权重 2业务权重）
     */
    @ApiModelProperty("权重（字典 1系统权重 2业务权重）")
    private Integer weight;

    /**
     * 排序
     */
    @ApiModelProperty("排序")
    private Integer sort;

    /**
     * 备注
     */
    @ApiModelProperty("备注")
    private String remark;

    /**
     * 状态（字典 0正常 1停用 2删除）
     */
    @ApiModelProperty("状态（字典 0正常 1停用 2删除）")
    private Integer status;

    /**
     * 创建时间
     */
    @ApiModelProperty("创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    /**
     * 创建人
     */
    @ApiModelProperty("创建人")
    private Long createUser;

    /**
     * 修改时间
     */
    @ApiModelProperty("修改时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;

    /**
     * 修改人
     */
    @ApiModelProperty("修改人")
    private Long updateUser;

}
